package com.foftact.stockpereport;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 股票财务分析报告数据模型类
 * 对应数据库表：stock_pe_report
 */
public class StockPEReport {
    private Long id;             // 主键ID
    private String securityCode; // 证券代码
    private String securityName; // 证券名称
    private Date reportDate;     // 报告期
    private Date tradeDate;      // 交易日期
    private String indicatorType; // 指标类型
    private BigDecimal peTTM;    // 市盈率TTM(倍)
    private BigDecimal pbRatio;  // 市净率(倍)
    private BigDecimal roe;      // 净资产收益率(%)
    private BigDecimal totalAssets; // 资产合计
    private BigDecimal totalLiabilities; // 负债合计
    private BigDecimal netAssets; // 净资产
    private BigDecimal interestExpense; // 利息支出
    private BigDecimal interestFee; // 利息费用
    private BigDecimal financeExpense; // 财务费用
    private Date createTime;     // 创建时间
    private Date updateTime;     // 更新时间
    
    // 近20个季度的ROE数据
    private BigDecimal roeQuarter1; // 第1季度ROE
    private String roeQuarter1Date; // 第1季度日期
    private BigDecimal roeQuarter2; // 第2季度ROE
    private String roeQuarter2Date; // 第2季度日期
    private BigDecimal roeQuarter3; // 第3季度ROE
    private String roeQuarter3Date; // 第3季度日期
    private BigDecimal roeQuarter4; // 第4季度ROE
    private String roeQuarter4Date; // 第4季度日期
    private BigDecimal roeQuarter5; // 第5季度ROE
    private String roeQuarter5Date; // 第5季度日期
    private BigDecimal roeQuarter6; // 第6季度ROE
    private String roeQuarter6Date; // 第6季度日期
    private BigDecimal roeQuarter7; // 第7季度ROE
    private String roeQuarter7Date; // 第7季度日期
    private BigDecimal roeQuarter8; // 第8季度ROE
    private String roeQuarter8Date; // 第8季度日期
    private BigDecimal roeQuarter9; // 第9季度ROE
    private String roeQuarter9Date; // 第9季度日期
    private BigDecimal roeQuarter10; // 第10季度ROE
    private String roeQuarter10Date; // 第10季度日期
    private BigDecimal roeQuarter11; // 第11季度ROE
    private String roeQuarter11Date; // 第11季度日期
    private BigDecimal roeQuarter12; // 第12季度ROE
    private String roeQuarter12Date; // 第12季度日期
    private BigDecimal roeQuarter13; // 第13季度ROE
    private String roeQuarter13Date; // 第13季度日期
    private BigDecimal roeQuarter14; // 第14季度ROE
    private String roeQuarter14Date; // 第14季度日期
    private BigDecimal roeQuarter15; // 第15季度ROE
    private String roeQuarter15Date; // 第15季度日期
    private BigDecimal roeQuarter16; // 第16季度ROE
    private String roeQuarter16Date; // 第16季度日期
    private BigDecimal roeQuarter17; // 第17季度ROE
    private String roeQuarter17Date; // 第17季度日期
    private BigDecimal roeQuarter18; // 第18季度ROE
    private String roeQuarter18Date; // 第18季度日期
    private BigDecimal roeQuarter19; // 第19季度ROE
    private String roeQuarter19Date; // 第19季度日期
    private BigDecimal roeQuarter20; // 第20季度ROE
    private String roeQuarter20Date; // 第20季度日期

    // getter和setter方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSecurityCode() {
        return securityCode;
    }

    public void setSecurityCode(String securityCode) {
        this.securityCode = securityCode;
    }

    public String getSecurityName() {
        return securityName;
    }

    public void setSecurityName(String securityName) {
        this.securityName = securityName;
    }

    public Date getReportDate() {
        return reportDate;
    }

    public void setReportDate(Date reportDate) {
        this.reportDate = reportDate;
    }

    public Date getTradeDate() {
        return tradeDate;
    }

    public void setTradeDate(Date tradeDate) {
        this.tradeDate = tradeDate;
    }

    public String getIndicatorType() {
        return indicatorType;
    }

    public void setIndicatorType(String indicatorType) {
        this.indicatorType = indicatorType;
    }

    public BigDecimal getPeTTM() {
        return peTTM;
    }

    public void setPeTTM(BigDecimal peTTM) {
        this.peTTM = peTTM;
    }

    public BigDecimal getPbRatio() {
        return pbRatio;
    }

    public void setPbRatio(BigDecimal pbRatio) {
        this.pbRatio = pbRatio;
    }

    public BigDecimal getRoe() {
        return roe;
    }

    public void setRoe(BigDecimal roe) {
        this.roe = roe;
    }

    public BigDecimal getTotalAssets() {
        return totalAssets;
    }

    public void setTotalAssets(BigDecimal totalAssets) {
        this.totalAssets = totalAssets;
    }

    public BigDecimal getTotalLiabilities() {
        return totalLiabilities;
    }

    public void setTotalLiabilities(BigDecimal totalLiabilities) {
        this.totalLiabilities = totalLiabilities;
    }

    public BigDecimal getNetAssets() {
        return netAssets;
    }

    public void setNetAssets(BigDecimal netAssets) {
        this.netAssets = netAssets;
    }

    public BigDecimal getInterestExpense() {
        return interestExpense;
    }

    public void setInterestExpense(BigDecimal interestExpense) {
        this.interestExpense = interestExpense;
    }

    public BigDecimal getInterestFee() {
        return interestFee;
    }

    public void setInterestFee(BigDecimal interestFee) {
        this.interestFee = interestFee;
    }

    public BigDecimal getFinanceExpense() {
        return financeExpense;
    }

    public void setFinanceExpense(BigDecimal financeExpense) {
        this.financeExpense = financeExpense;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public BigDecimal getRoeQuarter1() {
        return roeQuarter1;
    }

    public void setRoeQuarter1(BigDecimal roeQuarter1) {
        this.roeQuarter1 = roeQuarter1;
    }

    public String getRoeQuarter1Date() {
        return roeQuarter1Date;
    }

    public void setRoeQuarter1Date(String roeQuarter1Date) {
        this.roeQuarter1Date = roeQuarter1Date;
    }

    public BigDecimal getRoeQuarter2() {
        return roeQuarter2;
    }

    public void setRoeQuarter2(BigDecimal roeQuarter2) {
        this.roeQuarter2 = roeQuarter2;
    }

    public String getRoeQuarter2Date() {
        return roeQuarter2Date;
    }

    public void setRoeQuarter2Date(String roeQuarter2Date) {
        this.roeQuarter2Date = roeQuarter2Date;
    }

    public BigDecimal getRoeQuarter3() {
        return roeQuarter3;
    }

    public void setRoeQuarter3(BigDecimal roeQuarter3) {
        this.roeQuarter3 = roeQuarter3;
    }

    public String getRoeQuarter3Date() {
        return roeQuarter3Date;
    }

    public void setRoeQuarter3Date(String roeQuarter3Date) {
        this.roeQuarter3Date = roeQuarter3Date;
    }

    public BigDecimal getRoeQuarter4() {
        return roeQuarter4;
    }

    public void setRoeQuarter4(BigDecimal roeQuarter4) {
        this.roeQuarter4 = roeQuarter4;
    }

    public String getRoeQuarter4Date() {
        return roeQuarter4Date;
    }

    public void setRoeQuarter4Date(String roeQuarter4Date) {
        this.roeQuarter4Date = roeQuarter4Date;
    }

    public BigDecimal getRoeQuarter5() {
        return roeQuarter5;
    }

    public void setRoeQuarter5(BigDecimal roeQuarter5) {
        this.roeQuarter5 = roeQuarter5;
    }

    public String getRoeQuarter5Date() {
        return roeQuarter5Date;
    }

    public void setRoeQuarter5Date(String roeQuarter5Date) {
        this.roeQuarter5Date = roeQuarter5Date;
    }

    public BigDecimal getRoeQuarter6() {
        return roeQuarter6;
    }

    public void setRoeQuarter6(BigDecimal roeQuarter6) {
        this.roeQuarter6 = roeQuarter6;
    }

    public String getRoeQuarter6Date() {
        return roeQuarter6Date;
    }

    public void setRoeQuarter6Date(String roeQuarter6Date) {
        this.roeQuarter6Date = roeQuarter6Date;
    }

    public BigDecimal getRoeQuarter7() {
        return roeQuarter7;
    }

    public void setRoeQuarter7(BigDecimal roeQuarter7) {
        this.roeQuarter7 = roeQuarter7;
    }

    public String getRoeQuarter7Date() {
        return roeQuarter7Date;
    }

    public void setRoeQuarter7Date(String roeQuarter7Date) {
        this.roeQuarter7Date = roeQuarter7Date;
    }

    public BigDecimal getRoeQuarter8() {
        return roeQuarter8;
    }

    public void setRoeQuarter8(BigDecimal roeQuarter8) {
        this.roeQuarter8 = roeQuarter8;
    }

    public String getRoeQuarter8Date() {
        return roeQuarter8Date;
    }

    public void setRoeQuarter8Date(String roeQuarter8Date) {
        this.roeQuarter8Date = roeQuarter8Date;
    }

    public BigDecimal getRoeQuarter9() {
        return roeQuarter9;
    }

    public void setRoeQuarter9(BigDecimal roeQuarter9) {
        this.roeQuarter9 = roeQuarter9;
    }

    public String getRoeQuarter9Date() {
        return roeQuarter9Date;
    }

    public void setRoeQuarter9Date(String roeQuarter9Date) {
        this.roeQuarter9Date = roeQuarter9Date;
    }

    public BigDecimal getRoeQuarter10() {
        return roeQuarter10;
    }

    public void setRoeQuarter10(BigDecimal roeQuarter10) {
        this.roeQuarter10 = roeQuarter10;
    }

    public String getRoeQuarter10Date() {
        return roeQuarter10Date;
    }

    public void setRoeQuarter10Date(String roeQuarter10Date) {
        this.roeQuarter10Date = roeQuarter10Date;
    }

    public BigDecimal getRoeQuarter11() {
        return roeQuarter11;
    }

    public void setRoeQuarter11(BigDecimal roeQuarter11) {
        this.roeQuarter11 = roeQuarter11;
    }

    public String getRoeQuarter11Date() {
        return roeQuarter11Date;
    }

    public void setRoeQuarter11Date(String roeQuarter11Date) {
        this.roeQuarter11Date = roeQuarter11Date;
    }

    public BigDecimal getRoeQuarter12() {
        return roeQuarter12;
    }

    public void setRoeQuarter12(BigDecimal roeQuarter12) {
        this.roeQuarter12 = roeQuarter12;
    }

    public String getRoeQuarter12Date() {
        return roeQuarter12Date;
    }

    public void setRoeQuarter12Date(String roeQuarter12Date) {
        this.roeQuarter12Date = roeQuarter12Date;
    }

    public BigDecimal getRoeQuarter13() {
        return roeQuarter13;
    }

    public void setRoeQuarter13(BigDecimal roeQuarter13) {
        this.roeQuarter13 = roeQuarter13;
    }

    public String getRoeQuarter13Date() {
        return roeQuarter13Date;
    }

    public void setRoeQuarter13Date(String roeQuarter13Date) {
        this.roeQuarter13Date = roeQuarter13Date;
    }

    public BigDecimal getRoeQuarter14() {
        return roeQuarter14;
    }

    public void setRoeQuarter14(BigDecimal roeQuarter14) {
        this.roeQuarter14 = roeQuarter14;
    }

    public String getRoeQuarter14Date() {
        return roeQuarter14Date;
    }

    public void setRoeQuarter14Date(String roeQuarter14Date) {
        this.roeQuarter14Date = roeQuarter14Date;
    }

    public BigDecimal getRoeQuarter15() {
        return roeQuarter15;
    }

    public void setRoeQuarter15(BigDecimal roeQuarter15) {
        this.roeQuarter15 = roeQuarter15;
    }

    public String getRoeQuarter15Date() {
        return roeQuarter15Date;
    }

    public void setRoeQuarter15Date(String roeQuarter15Date) {
        this.roeQuarter15Date = roeQuarter15Date;
    }

    public BigDecimal getRoeQuarter16() {
        return roeQuarter16;
    }

    public void setRoeQuarter16(BigDecimal roeQuarter16) {
        this.roeQuarter16 = roeQuarter16;
    }

    public String getRoeQuarter16Date() {
        return roeQuarter16Date;
    }

    public void setRoeQuarter16Date(String roeQuarter16Date) {
        this.roeQuarter16Date = roeQuarter16Date;
    }

    public BigDecimal getRoeQuarter17() {
        return roeQuarter17;
    }

    public void setRoeQuarter17(BigDecimal roeQuarter17) {
        this.roeQuarter17 = roeQuarter17;
    }

    public String getRoeQuarter17Date() {
        return roeQuarter17Date;
    }

    public void setRoeQuarter17Date(String roeQuarter17Date) {
        this.roeQuarter17Date = roeQuarter17Date;
    }

    public BigDecimal getRoeQuarter18() {
        return roeQuarter18;
    }

    public void setRoeQuarter18(BigDecimal roeQuarter18) {
        this.roeQuarter18 = roeQuarter18;
    }

    public String getRoeQuarter18Date() {
        return roeQuarter18Date;
    }

    public void setRoeQuarter18Date(String roeQuarter18Date) {
        this.roeQuarter18Date = roeQuarter18Date;
    }

    public BigDecimal getRoeQuarter19() {
        return roeQuarter19;
    }

    public void setRoeQuarter19(BigDecimal roeQuarter19) {
        this.roeQuarter19 = roeQuarter19;
    }

    public String getRoeQuarter19Date() {
        return roeQuarter19Date;
    }

    public void setRoeQuarter19Date(String roeQuarter19Date) {
        this.roeQuarter19Date = roeQuarter19Date;
    }

    public BigDecimal getRoeQuarter20() {
        return roeQuarter20;
    }

    public void setRoeQuarter20(BigDecimal roeQuarter20) {
        this.roeQuarter20 = roeQuarter20;
    }

    public String getRoeQuarter20Date() {
        return roeQuarter20Date;
    }

    public void setRoeQuarter20Date(String roeQuarter20Date) {
        this.roeQuarter20Date = roeQuarter20Date;
    }

    @Override
    public String toString() {
        return "StockPEReport{" +
                "id=" + id +
                ", securityCode='" + securityCode + '\'' +
                ", securityName='" + securityName + '\'' +
                ", reportDate=" + reportDate +
                ", tradeDate=" + tradeDate +
                ", indicatorType='" + indicatorType + '\'' +
                ", peTTM=" + peTTM +
                ", pbRatio=" + pbRatio +
                ", roe=" + roe +
                '}';
    }
}